Permission Accounting in Separation Logic ( extended abstract )

نویسندگان

  • Richard Bornat
  • Cristiano Calcagno
  • Matthew Parkinson
چکیده

Separation logic began by describing total separation between the heap space used by separate parts of a program. It has moved on to consider how total and partial permissions to access heap elements can be transferred between concurrent threads. The roots of the new approach are in Boyland’s [3] demonstration of the utility of fractional permissions in reasoning about programs. We add the notion of counting permission, which mirrors the programming technique called permission counting. Both fractional and counting permissions permit passivity, the specification that a program can be permitted to access a heap cell yet prevented from altering it. Models of both mechanisms are described. The use of two different mechanisms is defended. Some interesting problems are acknowledged and some intriguing possibilities for future development are paraded.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Separation Logic Contracts for a Java-Like Language with Fork/Join

We adapt a variant of permission-accounting separation logic to a concurrent Java-like language with fork/join. To support both concurrent reads and information hiding, we combine fractional permissions with abstract predicates. As an example, we present a separation logic contract for iterators that prevents data races and concurrent modifications. Our program logic is presented in an algorith...

متن کامل

Temporary Read-Only Permissions for Separation Logic

We present an extension of Separation Logic with a general mechanism for temporarily converting any assertion (or “permission”) to a read-only form. No accounting is required: our read-only permissions can be freely duplicated and discarded. We argue that, in circumstances where mutable data structures are temporarily accessed only for reading, our read-only permissions enable more concise spec...

متن کامل

Models and Separation Logics for Resource Trees

In this paper, we propose a new data structure, called resource tree, that is a node-labelled tree in which nodes contain resources which belong to a partial monoid. We define the resource tree model and a new separation logic (BI-Loc) that extends the Bunched Implications logic (BI) with a modality for locations. In addition we consider quantifications on locations and paths and then we study ...

متن کامل

Permission-Based Separation Logic for Message-Passing Concurrency

We develop local reasoning techniques for message passing concurrent programs basedon ideas from separation logics and resource usage analysis. We extend processes with permission-resources and define a reduction semantics for this extended language. This provides a foundationfor interpreting separation formulas for message-passing concurrency. We also define a sound proofsystem...

متن کامل

Chapter 1 An Overview

Separation logic is a novel system for reasoning about imperative programs. It extends Hoare logic with enriched assertions that can describe the separation of storage and other resources concisely. The original goal of the logic was to facilitate reasoning about shared mutable data structures, i.e., structures where updatable fields can be referenced from more than one point. More recently, th...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2004